Plot: Proportion optimal machine selections across age groups and trials

Compute average error in agency predictions

Plot: Error in optimal machine selections across age groups and trials

Agency task: Agency decisions

Plot: Sensitivity to value of control

Compute average error in agency predictions

Plot: Agency decision model error

Summary stats: Sensitivity to value of control

LS0tCnRpdGxlOiAiVm9DIEFuYWx5c2VzIFBhcnQgNTogUG9zdGVyaW9yIFByZWRpY3RpdmUgQ2hlY2tzIgpkYXRlOiAzLzI3LzI0Cm91dHB1dDoKICAgIGh0bWxfZG9jdW1lbnQ6CiAgICAgICAgZGZfcHJpbnQ6ICdwYWdlZCcKICAgICAgICB0b2M6IHRydWUKICAgICAgICB0b2NfZmxvYXQ6CiAgICAgICAgICAgIGNvbGxhcHNlZDogZmFsc2UKICAgICAgICAgICAgc21vb3RoX3Njcm9sbDogdHJ1ZQogICAgICAgIG51bWJlcl9zZWN0aW9uczogZmFsc2UKICAgICAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCiAgICAgICAgc2VsZl9jb250YWluZWQ6IHRydWUKLS0tCmBgYHtyIGNodW5rIHNldHRpbmdzLCBpbmNsdWRlID0gRkFMU0V9CiMgc2V0IGNodW5rIHNldHRpbmdzCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gRkFMU0UsIAogICAgICAgICAgICAgICAgICAgICAgY2FjaGUgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgd2FybmluZyA9IEZBTFNFKQprbml0cjo6b3B0c19jaHVuayRzZXQoZHBpPTYwMCkKa25pdHI6Om9wdHNfa25pdCRzZXQocm9vdC5kaXIgPSBycHJvanJvb3Q6OmZpbmRfcnN0dWRpb19yb290X2ZpbGUoKSkKYGBgCiAgICAgICAgICAgICAgICAgICAgICAKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CiMgbGlzdCBhbGwgcGFja2FnZXMgcmVxdWlyZWQgZm9yIHRoZSBhbmFseXNpcwpsaXN0Lm9mLnBhY2thZ2VzIDwtIGMoInRpZHl2ZXJzZSIsICJhZmV4IikKCiMgY2hlY2sgaWYgYWxsIHBhY2thZ2VzIGFyZSBpbnN0YWxsZWQsIGlmIG5vdCwgaW5zdGFsbCB0aGVtLgpuZXcucGFja2FnZXMgPC0gbGlzdC5vZi5wYWNrYWdlc1shKGxpc3Qub2YucGFja2FnZXMgJWluJSBpbnN0YWxsZWQucGFja2FnZXMoKVssIlBhY2thZ2UiXSldCmlmKGxlbmd0aChuZXcucGFja2FnZXMpKSBpbnN0YWxsLnBhY2thZ2VzKG5ldy5wYWNrYWdlcykKCiMgbG9hZCBhbGwgcGFja2FnZXMgCmxhcHBseShsaXN0Lm9mLnBhY2thZ2VzLCBsaWJyYXJ5LCBjaGFyYWN0ZXIub25seSA9IFRSVUUpCgojIGFkZCB0aGVtZSBmb3IgcGxvdHRpbmcKdm9jX3RoZW1lIDwtIGZ1bmN0aW9uICgpIHsKICB0aGVtZSgKICAgIHBhbmVsLmJvcmRlciA9IGVsZW1lbnRfcmVjdChmaWxsID0gInRyYW5zcGFyZW50IiwgY29sb3I9ImdyYXk3NSIpLAogICAgcGFuZWwuYmFja2dyb3VuZCAgPSBlbGVtZW50X2JsYW5rKCksCiAgICBwbG90LmJhY2tncm91bmQgPSBlbGVtZW50X2JsYW5rKCksIAogICAgbGVnZW5kLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbD0idHJhbnNwYXJlbnQiLCBjb2xvdXI9TkEpLAogICAgbGVnZW5kLmtleSA9IGVsZW1lbnRfcmVjdChmaWxsPSJ0cmFuc3BhcmVudCIsIGNvbG91cj1OQSksCiAgICBsaW5lID0gZWxlbWVudF9ibGFuaygpLAogICAgYXhpcy50aWNrcyA9IGVsZW1lbnRfbGluZShjb2xvcj0iZ3JheTc1IiksCiAgICB0ZXh0PWVsZW1lbnRfdGV4dChmYW1pbHk9IkF2ZW5pciIpLAogICAgYXhpcy50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxMiksCiAgICBheGlzLnRpdGxlID0gZWxlbWVudF90ZXh0KHNpemUgPSAxNSksCiAgICB0aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTUpLAogICAgc3RyaXAuYmFja2dyb3VuZCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMikKICApCn0KCmBgYAoKYGBge3IgbG9hZCBkYXRhfQpzaW1fZGF0YSA8LSByZWFkX2NzdigiUkxfbW9kZWxpbmcvb3V0cHV0L3Bvc3Rlcmlvcl9wcmVkaWN0aXZlL3NpbURhdGFfc3ViUGFyYW1zX2ZvdXJBbHBoYV90d29CZXRhX2FnZW5jeUJvbnVzLmNzdiIpICU+JQogICAgcmVuYW1lKHRva2VuT2ZmZXIgPSBvZmZlciwKICAgICAgICAgICBhZ2VuY3lSZXNwID0gYWdlbmN5Q2hvaWNlLAogICAgICAgICAgIGJhbmRpdFJlc3AgPSBiYW5kaXRDaG9pY2UsCiAgICAgICAgICAgcmV3YXJkID0gb3V0Y29tZSkgJT4lCiAgICBtdXRhdGUoYWdlbmN5ID0gY2FzZV93aGVuKGFnZW5jeVJlc3AgPT0gMiB+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW5jeVJlc3AgPT0gMSB+IDApLAogICAgICAgICAgIGNvcnJlY3QgPSBjYXNlX3doZW4obGVmdEJhbmRpdCA9PSAiYmFuZGl0NTBhIiAmIGJhbmRpdFJlc3AgPT0gMSB+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0QmFuZGl0ID09ICJiYW5kaXQ1MGEiICYgYmFuZGl0UmVzcCA9PSAyIH4gMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRCYW5kaXQgPT0gImJhbmRpdDUwYiIgJiBiYW5kaXRSZXNwID09IDEgfiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdEJhbmRpdCA9PSAiYmFuZGl0NTBiIiAmIGJhbmRpdFJlc3AgPT0gMiB+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0QmFuZGl0ID09ICJiYW5kaXQzMCIgJiBiYW5kaXRSZXNwID09IDEgfiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdEJhbmRpdCA9PSAiYmFuZGl0MzAiICYgYmFuZGl0UmVzcCA9PSAyIH4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRCYW5kaXQgPT0gImJhbmRpdDcwIiAmIGJhbmRpdFJlc3AgPT0gMSB+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0QmFuZGl0ID09ICJiYW5kaXQ3MCIgJiBiYW5kaXRSZXNwID09IDIgfiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdEJhbmRpdCA9PSAiYmFuZGl0MTAiICYgYmFuZGl0UmVzcCA9PSAxIH4gMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRCYW5kaXQgPT0gImJhbmRpdDEwIiAmIGJhbmRpdFJlc3AgPT0gMiB+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0QmFuZGl0ID09ICJiYW5kaXQ5MCIgJiBiYW5kaXRSZXNwID09IDEgfiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdEJhbmRpdCA9PSAiYmFuZGl0OTAiICYgYmFuZGl0UmVzcCA9PSAyIH4gMCksCiAgICAgICAgICAgY29uZGl0aW9uID0gY2FzZV93aGVuKGxlZnRCYW5kaXQgPT0gImJhbmRpdDMwIiB+ICJiYW5kaXRzNzAzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRCYW5kaXQgPT0gImJhbmRpdDcwIiB+ICJiYW5kaXRzNzAzMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRCYW5kaXQgPT0gImJhbmRpdDkwIiB+ICJiYW5kaXRzOTAxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRCYW5kaXQgPT0gImJhbmRpdDEwIiB+ICJiYW5kaXRzOTAxMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnRCYW5kaXQgPT0gImJhbmRpdDUwYSIgfiAiYmFuZGl0czUwNTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0QmFuZGl0ID09ICJiYW5kaXQ1MGIiIH4gImJhbmRpdHM1MDUwIiksCiAgICAgICAgICAgdm9jID0gY2FzZV93aGVuKGNvbmRpdGlvbj09ImJhbmRpdHM5MDEwIiB+IDkgLSAodG9rZW5PZmZlciArIDUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb249PSJiYW5kaXRzNzAzMCIgfiA3IC0gKHRva2VuT2ZmZXIgKyA1KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uPT0iYmFuZGl0czUwNTAiIH4gNSAtICh0b2tlbk9mZmVyICsgNSkpKSAlPiUKICAgIGdyb3VwX2J5KHN1YklELCBzaW1JRCkgJT4lCiAgICBtdXRhdGUodHJpYWwgPSByb3dfbnVtYmVyKCkpICU+JQogICAgdW5ncm91cCgpICU+JQogICAgZ3JvdXBfYnkoc3ViSUQsIHNpbUlELCBjb25kaXRpb24pICU+JQogICAgbXV0YXRlKHRyaWFsT2ZDb25kID0gcm93X251bWJlcigpKSAlPiUKICAgIHVuZ3JvdXAoKSAlPiUKICAgIG11dGF0ZShkYXRhVHlwZSA9ICJNb2RlbCBTaW11bGF0aW9uIikKICAgIApzaW1fZGF0YSRzdWJJRCA8LSBzdHJfc3ViKHNpbV9kYXRhJHN1YklELCBlbmQgPSAtNSkKYGBgCgpgYGB7ciBsb2FkIHJlYWwgZGF0YX0KCiNsb2FkIGRlbW9ncmFwaGljIGluZm8Kc3ViX2luZm8gPC0gcmVhZF9jc3YoJ2RhdGEvdm9jX3N1Yl9pbmZvLmNzdicpICU+JQogICAgbXV0YXRlKGFnZV9ncm91cCA9IGNhc2Vfd2hlbihhZ2UgPCAxMyB+ICJDaGlsZHJlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZSA+IDEyLjk5ICYgYWdlIDwgMTggfiAiQWRvbGVzY2VudHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2UgPiAxNy45OSB+ICJBZHVsdHMiKSkKCnN1Yl9pbmZvJGFnZV9ncm91cCA8LSBmYWN0b3Ioc3ViX2luZm8kYWdlX2dyb3VwLCBsZXZlbHMgPSBjKCJDaGlsZHJlbiIsICJBZG9sZXNjZW50cyIsICJBZHVsdHMiKSkKCiNtZXJnZSBkZW1vZ3JhcGhpY3Mgd2l0aCBzaW11bGF0ZWQgZGF0YQpjb21iaW5lZF9kYXRhIDwtIGZ1bGxfam9pbihzdWJfaW5mbywgc2ltX2RhdGEsIGJ5ID0gYygic3ViSUQiKSkKCiNsb2FkIGJhbmRpdCBkYXRhCmJhbmRpdFRhc2sgPC0gcmVhZF9jc3YoJ2RhdGEvcHJvY2Vzc2VkL2JhbmRpdF90YXNrLmNzdicpICU+JQogICAgIG11dGF0ZShkYXRhVHlwZSA9ICJFbXBpcmljYWwiLAogICAgICAgICAgIHNpbUlEID0gMCkKCiNtZXJnZSBkZW1vZ3JhcGhpY3Mgd2l0aCByZWFkbCBkYXRhCmJhbmRpdFRhc2sgPC0gZnVsbF9qb2luKHN1Yl9pbmZvLCBiYW5kaXRUYXNrLCBieSA9IGMoInN1YklEIikpCgoKI21lcmdlIHJlYWwgZGF0YQplbXBpcmljYWxfZGF0YSA8LSBiYW5kaXRUYXNrICU+JSAKICAgIHNlbGVjdChzdWJJRCwgZ2VuZGVyLCBhZ2UsIGFnZSwgYWdlX2dyb3VwLCBzaW1JRCwgbGVmdEJhbmRpdCwgcmlnaHRCYW5kaXQsCiAgICAgICAgICAgdG9rZW5PZmZlciwgYWdlbmN5UmVzcCwgYmFuZGl0UmVzcCwgcmV3YXJkLCBhZ2VuY3ksIGNvcnJlY3QgPSBzdGFnZV8yX2FjYywKICAgICAgICAgICBjb25kaXRpb24sIHZvYywgdHJpYWwsIHRyaWFsT2ZDb25kLCBkYXRhVHlwZSkKCmFsbF9kYXRhIDwtIHJiaW5kKGNvbWJpbmVkX2RhdGEsIGVtcGlyaWNhbF9kYXRhKSAlPiUKICAgIG11dGF0ZShibG9jayA9IGZsb29yKCh0cmlhbC0xKS8yMSArIDEpKQpgYGAKCgojIyBQbG90OiBQcm9wb3J0aW9uIG9wdGltYWwgbWFjaGluZSBzZWxlY3Rpb25zIGFjcm9zcyBhZ2UgZ3JvdXBzIGFuZCB0cmlhbHMKYGBge3IgcGxvdCBiYW5kaXQgY2hvaWNlcyBhY3Jvc3MgdHJpYWxzLCB3aWR0aCA9IDcsIGhlaWdodCA9IDQsIHVuaXQgPSAiaW4ifQoKI3Bsb3Qgc2ltdWxhdGVkIGRhdGEKYWxsX2RhdGEgJT4lIAogIGZpbHRlcihhZ2VuY3k9PTEsIGNvbmRpdGlvbiE9ImJhbmRpdHM1MDUwIikgJT4lIAogIGdyb3VwX2J5KGNvbmRpdGlvbiwgYmxvY2ssIGFnZV9ncm91cCwgZGF0YVR5cGUpICU+JSAKICBzdW1tYXJpemUocGN0Q29yciA9IG1lYW4oY29ycmVjdCksIAogICAgc2UgPSBzZChjb3JyZWN0KS9zcXJ0KG4oKSkpICU+JSAKICBnZ3Bsb3QoLiwgYWVzKHg9YmxvY2ssIHk9cGN0Q29yciwgY29sb3I9Y29uZGl0aW9uKSkgKwogIGdlb21fcG9pbnQoKSArCiAgICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCBhZXMoZmlsbCA9IGNvbmRpdGlvbikpICsKICAgIGdlb21faGxpbmUoeWludGVyY2VwdCA9IC41LCBsaW5ldHlwZT0iZGFzaGVkIikgKwogICAgeWxhYigiUHJvcG9ydGlvbiBPcHRpbWFsIE1hY2hpbmUgU2VsZWN0aW9ucyIpICsKICAgIHhsYWIoIkJsb2NrIikgKwogICAgZmFjZXRfZ3JpZChjb2xzID0gdmFycyhhZ2VfZ3JvdXApLCByb3dzID0gdmFycyhkYXRhVHlwZSkpICsKICAgIHNjYWxlX2ZpbGxfbWFudWFsKG5hbWU9IkNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICBsYWJlbHM9YygiNzAvMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjkwLzEwIiksCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9YygiIzAwNzdiNiIsICIjMDMwNDVlIiksIAogICAgICAgICAgICAgICAgICAgICAgZ3VpZGUgPSBndWlkZV9sZWdlbmQocmV2ZXJzZT1UUlVFKSkgKwogICAgc2NhbGVfY29sb3JfbWFudWFsKG5hbWU9IkNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICBsYWJlbHM9YygiNzAvMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjkwLzEwIiksCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9YygiIzAwNzdiNiIsICIjMDMwNDVlIiksCiAgICAgICAgICAgICAgICAgICAgIGd1aWRlID0gZ3VpZGVfbGVnZW5kKHJldmVyc2U9VFJVRSkpICsKICAgIHZvY190aGVtZSgpICsKICAgIHRoZW1lKHN0cmlwLnRleHQgPSBlbGVtZW50X3RleHQoc2l6ZT0xMikpCmBgYAoKCiMjIENvbXB1dGUgYXZlcmFnZSBlcnJvciBpbiBhZ2VuY3kgcHJlZGljdGlvbnMKYGBge3IgcG9zdGVyaW9yIHByZWRpY3RpdmUgZXJyb3IgaW4gbWFjaGluZSBzZWxlY3Rpb25zfQoKc2ltX21hY2hpbmVfbWVhbnMgPC0gYWxsX2RhdGEgJT4lCiAgICBmaWx0ZXIoYWdlbmN5PT0xLCBjb25kaXRpb24hPSJiYW5kaXRzNTA1MCIpICU+JSAKICAgIGZpbHRlcihkYXRhVHlwZSA9PSAiTW9kZWwgU2ltdWxhdGlvbiIpICU+JQogICAgZ3JvdXBfYnkoc3ViSUQsIGFnZSwgYWdlX2dyb3VwLCBibG9jaywgY29uZGl0aW9uKSAlPiUKICAgIHN1bW1hcml6ZShzaW1NZWFuQ29ycmVjdD0gbWVhbihjb3JyZWN0LCBuYS5ybSA9IFQpKQoKVm9DX3N1Yl9lcnJvcl9tYWNoaW5lcyA8LSBhbGxfZGF0YSAlPiUKICAgIGZpbHRlcihhZ2VuY3k9PTEsIGNvbmRpdGlvbiE9ImJhbmRpdHM1MDUwIikgJT4lIAogICAgZmlsdGVyKGRhdGFUeXBlID09ICJFbXBpcmljYWwiKSAlPiUKICAgIHNlbGVjdChzdWJJRCwgYWdlLCBhZ2VfZ3JvdXAsIGJsb2NrLCBjb25kaXRpb24sIGNvcnJlY3QpICU+JQogICAgbGVmdF9qb2luKHNpbV9tYWNoaW5lX21lYW5zLCBieSA9IGMoInN1YklEIiwgImFnZSIsICJhZ2VfZ3JvdXAiLCAiYmxvY2siLCAiY29uZGl0aW9uIikpICU+JQogICAgbXV0YXRlKGVycm9yID0gc2ltTWVhbkNvcnJlY3QgLSBjb3JyZWN0LAogICAgICAgICAgIGFic0Vycm9yID0gYWJzKGVycm9yKSkKClZvQ19tZWFuX2Vycm9yX21hY2hpbmVzIDwtIFZvQ19zdWJfZXJyb3JfbWFjaGluZXMgJT4lCiAgICBncm91cF9ieShhZ2VfZ3JvdXAsIGJsb2NrLCBjb25kaXRpb24pICU+JQogICAgc3VtbWFyaXplKG1lYW5FcnJvciA9IG1lYW4oZXJyb3IsIG5hLnJtID0gVCksCiAgICAgICAgICAgICAgc2VFcnJvcj0gc2QoZXJyb3IgLyBzcXJ0KG4oKSkpLAogICAgICAgICAgICAgIG1lYW5BYnNFcnJvciA9IG1lYW4oYWJzRXJyb3IsIG5hLnRtID0gVCkKICAgICAgICAgICAgICApCmBgYAoKIyMgUGxvdDogRXJyb3IgaW4gIG9wdGltYWwgbWFjaGluZSBzZWxlY3Rpb25zIGFjcm9zcyBhZ2UgZ3JvdXBzIGFuZCB0cmlhbHMKYGBge3IgcGxvdCBtb2RlbCBlcnJvciBiYW5kaXQgY2hvaWNlcyBhY3Jvc3MgdHJpYWxzLCB3aWR0aCA9IDcsIGhlaWdodCA9IDQsIHVuaXQgPSAiaW4ifQoKI3Bsb3Qgc2ltdWxhdGVkIGRhdGEKZ2dwbG90KFZvQ19tZWFuX2Vycm9yX21hY2hpbmVzLCBhZXMoeD1ibG9jaywgeT1tZWFuRXJyb3IsIGNvbG9yPWNvbmRpdGlvbikpICsKICBnZW9tX3BvaW50KCkgKwogICAgZ2VvbV9saW5lKCkgKwogIGdlb21faGxpbmUoeWludGVyY2VwdCA9IDAsIGxpbmV0eXBlPSJkYXNoZWQiKSArCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbiA9IG1lYW5FcnJvciAtIHNlRXJyb3IsIHltYXggPSBtZWFuRXJyb3IgKyBzZUVycm9yKSwgd2lkdGggPSAuMSkgKyAKICB2b2NfdGhlbWUoKSArCiAgeWxhYigiTWVhbiBFcnJvciBpbiBNb2RlbCBQcmVkaWN0aW9ucyIpICsKICB4bGFiKCJCbG9jayIpICsKICBmYWNldF9ncmlkKGNvbHMgPSB2YXJzKGFnZV9ncm91cCkpICsKICAgICAgc2NhbGVfZmlsbF9tYW51YWwobmFtZT0iQ29uZGl0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgIGxhYmVscz1jKCI3MC8zMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiOTAvMTAiKSwKICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1jKCIjMDA3N2I2IiwgIiMwMzA0NWUiKSwgCiAgICAgICAgICAgICAgICAgICAgICBndWlkZSA9IGd1aWRlX2xlZ2VuZChyZXZlcnNlPVRSVUUpKSArCiAgc2NhbGVfY29sb3JfbWFudWFsKG5hbWU9IkNvbmRpdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICBsYWJlbHM9YygiNzAvMzAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjkwLzEwIiksCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9YygiIzAwNzdiNiIsICIjMDMwNDVlIiksCiAgICAgICAgICAgICAgICAgICAgIGd1aWRlID0gZ3VpZGVfbGVnZW5kKHJldmVyc2U9VFJVRSkpICsKICB0aGVtZShzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIpKQpgYGAKCiMgQWdlbmN5IHRhc2s6IEFnZW5jeSBkZWNpc2lvbnMgCgojIyBQbG90OiBTZW5zaXRpdml0eSB0byB2YWx1ZSBvZiBjb250cm9sCmBgYHtyIFZvQyBwbG90LCBmaWcuaGVpZ2h0ID0gNCwgZmlnLndpZHRoID0gNywgdW5pdCA9ICJpbiJ9CgpWb0NfcGxvdF9zdWJfbWVhbnMgPC0gYWxsX2RhdGEgJT4lIAogICAgbXV0YXRlKHRhc2tIYWxmID0gY2FzZV93aGVuKHRyaWFsIDwgMTU4IH4gIkZpcnN0IEhhbGYgb2YgVGFzayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpYWwgPiAxNTcgfiAiU2Vjb25kIEhhbGYgb2YgVGFzayIpKSAlPiUKICAgIGdyb3VwX2J5KGFnZV9ncm91cCwgdGFza0hhbGYsIHZvYywgc3ViSUQsIGRhdGFUeXBlKSAlPiUKICAgIHN1bW1hcml6ZShtZWFuU3ViQWdlbmN5ID0gbWVhbihhZ2VuY3ksIG5hLnJtID0gVCkpCgpWb0NfcGxvdF9tZWFucyA8LSBWb0NfcGxvdF9zdWJfbWVhbnMgJT4lIAogICAgZ3JvdXBfYnkoYWdlX2dyb3VwLCB0YXNrSGFsZiwgdm9jLCBkYXRhVHlwZSkgJT4lCiAgICBzdW1tYXJpemUobWVhbkFnZW5jeSA9IG1lYW4obWVhblN1YkFnZW5jeSwgbmEucm0gPSBUKSwKICAgICAgICAgICAgICBzZUFnZW5jeSA9IHNkKG1lYW5TdWJBZ2VuY3kgLyBzcXJ0KG4oKSkpKQoKI3Bsb3QKVm9DX3Bsb3QgPC0gZ2dwbG90KFZvQ19wbG90X21lYW5zLCBhZXMoeCA9IHZvYywgeSA9IG1lYW5BZ2VuY3ksIGNvbG9yID0gYWdlX2dyb3VwKSkgKwogICAgICBmYWNldF9ncmlkKGNvbHMgPSB2YXJzKHRhc2tIYWxmKSwgcm93cyA9IHZhcnMoZGF0YVR5cGUpKSArCiAgICBnZW9tX3BvaW50KGFlcyhjb2xvciA9IGFnZV9ncm91cCkpICsgCiAgICBnZW9tX2Vycm9yYmFyKGFlcyhjb2xvciA9IGFnZV9ncm91cCwgeW1pbiA9IG1lYW5BZ2VuY3kgLSBzZUFnZW5jeSwgeW1heCA9IG1lYW5BZ2VuY3kgKyBzZUFnZW5jeSksIHdpZHRoID0gLjEpICsgCiAgICBnZW9tX2xpbmUoYWVzKGdyb3VwID0gYWdlX2dyb3VwKSkgKwogICAgdm9jX3RoZW1lKCkgKyAKICAgIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXM9YygiIzcwMjk2MyIsICIjYzAwMDAwIiwgIiNmZmFlNDIiKSwgbmFtZSA9ICJBZ2UgR3JvdXAiKSArCiAgICB4bGFiKCJWYWx1ZSBvZiBDaG9pY2UgKFZvQykiKSArCiAgICB5bGFiKCJQcm9wb3J0aW9uIEFnZW5jeSBDaG9pY2VzIikgKwogICAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gLjUsIGxpbmV0eXBlID0gImRhc2hlZCIpICsKICAgIGdlb21fdmxpbmUoeGludGVyY2VwdCA9IDAsIGxpbmV0eXBlID0gImRhc2hlZCIpClZvQ19wbG90CmBgYAoKIyMgQ29tcHV0ZSBhdmVyYWdlIGVycm9yIGluIGFnZW5jeSBwcmVkaWN0aW9ucwpgYGB7ciBwb3N0ZXJpb3IgcHJlZGljdGl2ZSBlcnJvcn0KCnNpbV9tZWFucyA8LSBhbGxfZGF0YSAlPiUKICAgIGZpbHRlcihkYXRhVHlwZSA9PSAiTW9kZWwgU2ltdWxhdGlvbiIpICU+JQogICAgZ3JvdXBfYnkoc3ViSUQsIGFnZSwgYWdlX2dyb3VwLCB0cmlhbCwgY29uZGl0aW9uLCB0b2tlbk9mZmVyKSAlPiUKICAgIHN1bW1hcml6ZShzaW1NZWFuQWdlbmN5ID0gbWVhbihhZ2VuY3ksIG5hLnJtID0gVCkpCgpWb0Nfc3ViX2Vycm9yIDwtIGFsbF9kYXRhICU+JQogICAgZmlsdGVyKGRhdGFUeXBlID09ICJFbXBpcmljYWwiKSAlPiUKICAgIHNlbGVjdChzdWJJRCwgYWdlLCBhZ2VfZ3JvdXAsIHRyaWFsLCBjb25kaXRpb24sIHRva2VuT2ZmZXIsIGFnZW5jeSwgdm9jKSAlPiUKICAgIGxlZnRfam9pbihzaW1fbWVhbnMsIGJ5ID0gYygic3ViSUQiLCAiYWdlIiwgImFnZV9ncm91cCIsICJ0cmlhbCIsICJjb25kaXRpb24iLCAidG9rZW5PZmZlciIpKSAlPiUKICAgIG11dGF0ZShlcnJvciA9IHNpbU1lYW5BZ2VuY3kgLSBhZ2VuY3ksCiAgICAgICAgICAgYWJzRXJyb3IgPSBhYnMoZXJyb3IpLAogICAgICAgICAgIHRhc2tIYWxmID0gY2FzZV93aGVuKHRyaWFsIDwgMTU4IH4gIkZpcnN0IEhhbGYgb2YgVGFzayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpYWwgPiAxNTcgfiAiU2Vjb25kIEhhbGYgb2YgVGFzayIpKSAKClZvQ19tZWFuX2Vycm9yIDwtIFZvQ19zdWJfZXJyb3IgJT4lCiAgICBncm91cF9ieShhZ2VfZ3JvdXAsIHRhc2tIYWxmLCB2b2MpICU+JQogICAgc3VtbWFyaXplKG1lYW5FcnJvciA9IG1lYW4oZXJyb3IsIG5hLnJtID0gVCksCiAgICAgICAgICAgICAgc2VFcnJvcj0gc2QoZXJyb3IgLyBzcXJ0KG4oKSkpLAogICAgICAgICAgICAgIG1lYW5BYnNFcnJvciA9IG1lYW4oYWJzRXJyb3IsIG5hLnRtID0gVCkKICAgICAgICAgICAgICApCmBgYAoKIyMgUGxvdDogQWdlbmN5IGRlY2lzaW9uIG1vZGVsIGVycm9yCmBgYHtyIFZvQyBlcnJvciBwbG90LCBmaWcuaGVpZ2h0ID0gNCwgZmlnLndpZHRoID0gNywgdW5pdCA9ICJpbiJ9CgojcGxvdApWb0NfZXJyb3JfcGxvdCA8LSBnZ3Bsb3QoVm9DX21lYW5fZXJyb3IsIGFlcyh4ID0gdm9jLCB5ID0gbWVhbkVycm9yLCBjb2xvciA9IGFnZV9ncm91cCkpICsKICAgIGZhY2V0X2dyaWQoY29scyA9IHZhcnModGFza0hhbGYpKSArCiAgICBnZW9tX3BvaW50KGFlcyhjb2xvciA9IGFnZV9ncm91cCkpICsgCiAgICBnZW9tX2Vycm9yYmFyKGFlcyhjb2xvciA9IGFnZV9ncm91cCwgeW1pbiA9IG1lYW5FcnJvciAtIHNlRXJyb3IsIHltYXggPSBtZWFuRXJyb3IgKyBzZUVycm9yKSwgd2lkdGggPSAuMSkgKyAKICAgIGdlb21fbGluZShhZXMoZ3JvdXAgPSBhZ2VfZ3JvdXApKSArCiAgICB2b2NfdGhlbWUoKSArIAogICAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcz1jKCIjNzAyOTYzIiwgIiNjMDAwMDAiLCAiI2ZmYWU0MiIpLCBuYW1lID0gIkFnZSBHcm91cCIpICsKICAgIHhsYWIoIlZhbHVlIG9mIENob2ljZSAoVm9DKSIpICsKICAgIHlsYWIoIk1lYW4gRXJyb3IgaW4gTW9kZWwgUHJlZGljdGlvbnMiKSArCiAgICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9ICJkYXNoZWQiKSArCiAgICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9ICJkYXNoZWQiKQpWb0NfZXJyb3JfcGxvdApgYGAKCiMjIFN1bW1hcnkgc3RhdHM6IFNlbnNpdGl2aXR5IHRvIHZhbHVlIG9mIGNvbnRyb2wKYGBge3IgVm9DIHN1bW1hcnkgc3RhdHN9CgojIFdoYXQgcHJvcG9ydGlvbiBvZiB0cmlhbHMgZGlkIHRoZXkgY2hvb3NlIGFnZW5jeSB3aGVuIFZvQyB3YXMgMD8KVm9DX3plcm9fbWVhbnNfc3ViIDwtIGFsbF9kYXRhICU+JSAKICAgIGZpbHRlcih2b2MgPT0gMCkgJT4lCiAgICBncm91cF9ieShhZ2VfZ3JvdXAsIHN1YklELCBkYXRhVHlwZSkgJT4lCiAgICBzdW1tYXJpemUobWVhblN1YkFnZW5jeSA9IG1lYW4oYWdlbmN5LCBuYS5ybSA9IFQpKQoKVm9DX3plcm9fbWVhbnNfYWdlR3JwIDwtIFZvQ196ZXJvX21lYW5zX3N1YiAlPiUKICAgIGdyb3VwX2J5KGFnZV9ncm91cCwgZGF0YVR5cGUpICU+JQogICAgc3VtbWFyaXplKG1lYW5BZ2VuY3kgPSBtZWFuKG1lYW5TdWJBZ2VuY3ksIG5hLnJtID0gVCksCiAgICAgICAgICAgICAgc2VBZ2VuY3kgPSBzZChtZWFuU3ViQWdlbmN5IC8gc3FydChuKCkpKSkKVm9DX3plcm9fbWVhbnNfYWdlR3JwCgoKVm9DX3plcm9fbWVhbnMgPC0gVm9DX3plcm9fbWVhbnNfc3ViICU+JQogICAgdW5ncm91cCgpICU+JQogICAgc3VtbWFyaXplKG1lYW5BZ2VuY3kgPSBtZWFuKG1lYW5TdWJBZ2VuY3ksIG5hLnJtID0gVCksCiAgICAgICAgICAgICAgc2VBZ2VuY3kgPSBzZChtZWFuU3ViQWdlbmN5IC8gc3FydChuKCkpKSkKVm9DX3plcm9fbWVhbnMKCiMgV2hhdCB3YXMgYXZlcmFnZSBWb0Mgd2hlbiBwYXJ0aWNpcGFudHMgaGFkIDUwJSBjaGFuY2Ugb2YgY2hvb3NpbmcgYWdlbmN5PwpWb0NfY2hhbmNlX21lYW5zX3N1YiA8LSBhbGxfZGF0YSAlPiUgCiAgICBncm91cF9ieShhZ2VfZ3JvdXAsIHN1YklELCB2b2MsIGRhdGFUeXBlKSAlPiUKICAgIHN1bW1hcml6ZShtZWFuU3ViQWdlbmN5ID0gbWVhbihhZ2VuY3ksIG5hLnJtID0gVCkpIAoKI2lkZW50aWZ5IHdoZW4gNTAlIGxpbmUgaXMgY3Jvc3NlZApWb0NfY2hhbmNlX21lYW5zIDwtIFZvQ19jaGFuY2VfbWVhbnNfc3ViICU+JSAKICAgIGdyb3VwX2J5KGFnZV9ncm91cCwgdm9jLCBkYXRhVHlwZSkgJT4lCiAgICBzdW1tYXJpemUobWVhbkFnZW5jeSA9IG1lYW4obWVhblN1YkFnZW5jeSwgbmEucm0gPSBUKSwKICAgICAgICAgICAgICBzZUFnZW5jeSA9IHNkKG1lYW5TdWJBZ2VuY3kgLyBzcXJ0KG4oKSkpKSAlPiUKICAgIHVuZ3JvdXAoKSAlPiUKICAgIGdyb3VwX2J5KGFnZV9ncm91cCwgZGF0YVR5cGUpICU+JQogICAgbXV0YXRlKHByaW9yTWVhbkFnZW5jeSA9IGxhZyhtZWFuQWdlbmN5KSwKICAgICAgICAgICB0aHJlc2hvbGQgPSBjYXNlX3doZW4obWVhbkFnZW5jeSA+IC41ICYgcHJpb3JNZWFuQWdlbmN5IDwgLjUgfiAxKSkgJT4lCiAgICBmaWx0ZXIodGhyZXNob2xkID09IDEpClZvQ19jaGFuY2VfbWVhbnMKYGBg